import Vue from 'vue';
import Vuex from 'vuex';
import axios from 'axios';

Vue.use(Vuex);

var store = new Vuex.Store({
    state:{
        // 猎人首页数据
        hhomedata:'',
        // 控制所有城市的组件出现的布尔值
        isShowAllc:false,
        // 城市列表
        Cities:'',
        // 当前城市
        currCity:'全部城市',
        // 控制home页面是否可点击
        changepointer:false,
        // 控制是否正在进行请求
        isLoading:false,
        // 控制是否使猎人版块导航条固定
        isFixed:false,
         // 版块标签
        Carttags:'',
        // 产品详情数据
        proInfo:'',
        // 用户评论数据
        proComt:'',
        // 更多产品数据
        proMore:[],
        // 套餐选择
        isActive:0,
        // 是否显示弹出层
        isAlert:false,
        // 是否登录
        isLogin:false,
        // 订单信息
        dingdanInfo:{
            selectDate:'TODAY',
            num:1,
            price:0,
            username:'',
            tel:'',
            nowTime:'',
            title:'',
            address:''
        },
    },
    getters:{

    },
    mutations:{
        // 猎人首页数据
        setHhomedata:function(state,value){
            state.hhomedata = value;
        },
        // 控制所有城市的组件出现的布尔值
        setShowAllc:function(state,value){
            state.isShowAllc = value;
        },
        // 国内外城市列表
        setCities:function(state,value){
            state.Cities = value;
        },
        // 当前城市
        setCurrCity:function(state,value){
            state.currCity = value;
        },
        // 控制home页面是否可点击
        setChangepointer:function(state,value){
            state.changepointer = value;
        },
        // 控制是否正在进行请求
        setIsLoading:function(state,value){
            state.isLoading = value;
        },
        // 控制是否正在进行请求
        setIsFixed:function(state,value){
            state.isFixed = value;
        },
        // 版块标签数据
        setCarttags:function(state,value){
            state.Carttags = value;
        },
        // 产品详情数据
        setProInfo:function(state,value){
            state.proInfo = value;
        },
        // 用户评论数据
        setProComt:function(state,value){
            state.proComt = value;
        },
        // 更多产品数据
        setProMore:function(state,value){
            state.proMore = value;
        },
        // 选择体验日期
        setSelectDate:function(state,value){
            state.selectDate = value;
        },
        // 是否显示弹出层
        setIsAlert:function(state,value){
            state.isAlert = value;
        },
        // 是否登录
        setIsLogin:function(state,value){
            state.isLogin = value;
        },
        // 订单信息
        setdingdanInfo:function(state,value){
            state.dingdanInfo = value;
        },
    },
    actions:{
        // 猎人首页数据
        requestHhomedata:function(context,params){
            return new Promise(function(reslove,reject){
                axios.get("/bhunter/api/hunter/products/newstyle/v2",{params})
                .then(res=>{
                    reslove(res);
                });
            })
        },
        // 全部城市数据/版块标签数据
        requestCities:function(context,params){
            return new Promise(function(reslove,reject){
                axios.get("/bhunter/api/hunter/products/v2/metadata",{params})
                .then(res=>{
                    reslove(res);
                });
            })
        },
        // 版块标签数据
        requestCarttags:function(context,params){
            return new Promise(function(reslove,reject){
                axios.get("/bhunter/api/hunter/search/index",{params})
                .then(res=>{
                    reslove(res);
                });
            })
        },
        // 产品详情数据
        requestProInfo:function(context,params){
            return new Promise(function(reslove,reject){
                axios.get("/product/proinfo",{params})
                .then(res=>{
                    reslove(res);
                });
            })
        },
        // 产品评论数据
        requestProComt:function(context,params){
            return new Promise(function(reslove,reject){
                axios.get("/huntercomt/hunter/product/17898/comments/more",{params})
                .then(res=>{
                    reslove(res);
                });
            })
        },
        // 产品评论数据
        requestProMore:function(context,params){
            return new Promise(function(reslove,reject){
                axios.get("/huntermore/hunter/products/newstyle/product_module/v2/29",{params})
                .then(res=>{
                    reslove(res);
                });
            })
        },
        // 注册
        requestRegist:function(context,params){
            return new Promise(function(reslove,reject){
                axios.post("/user/regist",params)
                .then(res=>{
                    reslove(res);
                });
            })
        },
        // 登录
        requestLogin:function(context,params){
            return new Promise(function(reslove,reject){
                axios.post("/user/login",params)
                .then(res=>{
                    reslove(res);
                });
            })
        },
        // 退出登录
        requestExit:function(context){
            return new Promise(function(reslove,reject){
                axios.get("/user/exit")
                .then(res=>{
                    reslove(res);
                });
            })
        },
        // 提交订单
        requestOrder:function(context,params){
            return new Promise(function(reslove,reject){
                axios.post("/user/order",params)
                .then(res=>{
                    reslove(res);
                });
            })
        },
        reqOneorder:function(context,params){
            return new Promise(function(reslove,reject){
                axios.post("/user/oneorder",params)
                .then(res=>{
                    reslove(res);
                });
            })
        },
        queAllOrder:function(context){
            return new Promise(function(reslove,reject){
                axios.get("/user/allOrder")
                .then(res=>{
                    reslove(res);
                });
            })
        },
    }
});

export default store;